package com.treasure.mall.biz.dto.product;

import com.treasure.mall.biz.dto.BaseSaveDTO;
import com.treasure.mall.zbq.common.ienum.product.ProductEnums;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 普通产品保存实体
 *
 * @author wm
 */
@Setter
@Getter
@ApiModel("普通产品保存实体")
public class NormalProductSaveDTO implements BaseSaveDTO, Serializable {
    /**
     * 产品id
     */
    @ApiModelProperty("产品id，编辑时输入")
    private Long productId;

    /**
     * 商家Id
     */
    @ApiModelProperty(value = "商家Id", required = true)
    private Long merchantId;
    /**
     * 产品名称
     */
    @ApiModelProperty(value = "产品名称", required = true)
    private String productName;
    /**
     * 销售类型
     * {@link com.treasure.mall.zbq.common.ienum.product.ProductEnums.SaleType}
     */
    @ApiModelProperty(value = "销售渠道")
    private ProductEnums.SaleType saleType;

    /**
     * 产品类型
     */
    @ApiModelProperty(value = "产品类型，1直播商品", hidden = true)
    private Integer productType;

    /**
     * 类目id
     */
    @ApiModelProperty(value = "类目id", required = true)
    private Integer catId;

    /**
     * 尺寸
     */
    @ApiModelProperty(value = "尺寸", required = true)
    private String propSize;

    /**
     * 材质
     */
    @ApiModelProperty(value = "材质", required = true)
    private String propMaterial;

    /**
     * 产地
     */
    @ApiModelProperty(value = "产地", required = true)
    private String location;

    /**
     * 重量单位
     */
    @ApiModelProperty(value = "重量单位", required = true)
    private String weightUnit;

    /**
     * weight
     */
    @ApiModelProperty(value = "重量", required = true)
    private BigDecimal weight;

    /**
     * 价格
     */
    @ApiModelProperty(value = "价格", required = true)
    private BigDecimal price;

    /**
     * 市场价
     */
    @ApiModelProperty(value = "市场价")
    private BigDecimal mktPrice;

    /**
     * 服务标签{@link com.treasure.mall.zbq.common.ienum.product.ProductEnums.ServiceTag}
     */
    @ApiModelProperty(value = "服务标签，逗号隔开 0全国包邮 17天无理由退款,全部包邮必选项")
    private String serviceTags;

    /**
     * 限购数
     */
    @ApiModelProperty(value = "限购数")
    private Integer limitedNum;

    /**
     * 图片列表，序列化数组字符串
     */
    @ApiModelProperty(value = "图片列表，序列化数组字符串", required = true)
    private String picList;

    /**
     * 详情
     */
    @ApiModelProperty(value = "详情", required = true)
    private String detailContent;

    /**
     * 视频
     */
    @ApiModelProperty(value = "视频地址")
    private String video;

    /**
     * 状态
     */
    @ApiModelProperty(value = "上下架")
    private Integer statusCode;

    /**
     * 排序号
     */
    private Integer sortNo;

    /**
     * 库存
     */
    private Integer store;
    /**
     * 商品标签
     */
    private String productTags;

    private BigDecimal commissionRate;
    /**
     * 是否推荐
     */
    private Integer recommendFlag;
}